#include "fxcc/imgui/Editor.h"
#include "fxcc/core/graph/opengl3/pbrx/Effect.h"
#include "fxcc/core/graph/opengl3/pbrx/HdrTexture.h"

using namespace fxcc::graph::opengl3;
using namespace fxcc::imgui;

template <>
bool Editor::Edit(const std::string& label, pbrx::Material& inst)
{

    ColorInst<glm::vec3>("albedo", inst.albedo);
    DragInst<float>("Metallic", inst.metallic);
    DragInst<float>("roughness", inst.roughness);
    DragInst<float>("ao", inst.ao);
    return false;
}

template <>
bool Editor::Edit(const std::string& label, pbrx::HdrTexture& inst)
{
    ImGui::Image(inst.brdfLUTtexture->GetTextureId(), ImVec2(200, 200));
    return false;
}